$(function() {
    var currentPage = 1;
    var pageSize = 2;

    function render() {
        $.ajax({
            type: 'get',
            url: ' /product/queryProductDetailList',
            dataType: 'json',
            data: {
                page: currentPage,
                pageSize: pageSize
            },
            success: function(res) {
                // console.log(res)
                $("tbody").html(template("tmp", res));
                setPage(res.total)
            }
        })
    }
    render();
    //生成分页标签
    function setPage(total) {
        // 使用插件生成分页标签 
        $("#paginator").bootstrapPaginator({
            bootstrapMajorVersion: 3, //默认是2，如果是bootstrap3版本，这个参数必填
            currentPage: currentPage, //当前页 高亮按钮 
            totalPages: Math.ceil(total / pageSize), //总页数 = Math.ceil(数据库数据总数 / 每页数据条数)
            onPageClicked: function(event, originalEvent, type, page) { //分页按钮被点击事件 
                //为按钮绑定点击事件 page:当前点击的按钮值
                // console.log(page);
                // 1- 改变当前页取值
                currentPage = page;
                // 2- 页面重新渲染
                render();
            }
        });
    }
    //获取二级分类得到标题
    function twoList() {
        $.ajax({
            type: 'get',
            url: '/category/querySecondCategoryPaging',
            dataType: 'json',
            data: {
                page: 1,
                pageSize: 100
            },
            success: function(res) {
                console.log(res)
                $(".cate-two-list").html(template("two-list", res))
            }
        })
    }
    twoList();
    //给动态创建的li标签添加点击事件
    $(".cate-two-list").on("click", "li", function() {
            $(".cate-span").text($(this).text());
            $("#brandId").val($(this).data("id"));
            // console.log($("#brandId").val());
        })
        //图片上传功能
    var picArr = []; //用于记录图片地址
    // var html = '';
    $("#file").fileupload({
        dataType: 'json',
        //data图片上传后的对象 ，通过data.result.picArr可以获取图片上传后的地址
        done: function(e, data) {
            var imgUrl = data.result;
            picArr.push(imgUrl);
            var html = '<img src="' + imgUrl.picAddr + '" alt="" height="70">'
            $(".img-box").prepend(html);
            //判断图片是否超过三张
            if (picArr.length > 3) {
                picArr.pop();
                // var len = $(".img-box img");
                $(".img-box img:last-child").remove()
            }
            // 把选中的图片地址 赋值给隐藏域 （图片必须满3张） 
            if (picArr.length == 3) {
                $('#picArr').val(JSON.stringify(picArr));
                // 2- 图片够3张后， 恢复图片的校验状态 
                $('.add-form').data('bootstrapValidator').updateStatus('picArr', 'VALID');
            }
        }
    });
    // 6- 表单校验
    //使用表单校验插件
    $('.add-form').bootstrapValidator({
        //1. 指定不校验的类型，默认为[':disabled', ':hidden', ':not(:visible)'],可以不设置
        excluded: [':disabled'],

        //2. 指定校验时的图标显示，默认是bootstrap风格
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },

        //3. 指定校验字段
        fields: {
            // 二级分类id 
            brandId: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请选择二级分类'
                    }
                }
            },
            // 商品名称
            proName: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请输入商品名称'
                    }
                }
            },
            // 商品描述
            proDesc: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请输入商品描述'
                    }
                }
            },
            // 商品库存
            num: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请输入商品库存'
                    },
                    //正则校验
                    regexp: {
                        regexp: /^[1-9]\d*$/, // 2
                        message: '库存必须是非0开头的数字'
                    }
                }
            },
            // 商品尺寸
            size: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请输入商品尺寸'
                    },
                    //正则校验
                    regexp: {
                        regexp: /^[1-9]\d-[1-9]\d$/, // 
                        message: '尺码必须是xx-xx格式， x是数字'
                    }
                }
            },
            // 商品原价
            oldPrice: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请输入商品原价'
                    },
                    regexp: {
                        regexp: /^￥{1}[1-9]\d*:0{2}/,
                        message: '必须是数字'
                    }
                }
            },
            // 商品现价
            price: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请输入商品现价'
                    }
                },
                regexp: {
                    regexp: /^[1-9]\d*$/,
                    message: '必须以￥开头是数字￥xx:00'
                }
            },
            // 图片
            picArr: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请上传3张图片'
                    }
                }
            }
        }

    });
    // 9-添加商品
    // 1- 点击添加按钮，在表单数据合理的情况下，发送请求给后台，进行添加
    // 2- 添加完成后，页面重新渲染，隐藏模态框， 表单重置, 
    // 3- 手动恢复图片和按钮样式
    // $(".btn-add-product").click(function() {
    $('.add-form').on('success.form.bv', function(e) {
            e.preventDefault(); //阻止默认行为 
            // 发送请求
            $.ajax({
                type: 'post',
                url: '/product/addProduct',
                data: $('.add-form').serialize(),
                dataType: 'json',
                success: function(res) {
                    console.log(res);
                    // 页面重新渲染，
                    render();
                    // 隐藏模态框，
                    $('.modal-add').modal('hide');
                    // 表单重置
                    $('.add-form').data('bootstrapValidator').resetForm(true);
                    // 手动恢复图片和按钮样式
                    $('.cate-span').text('请选择二级分类');
                    $('.img-box').empty(); //清空内部的图片 
                    // 重置picArr属性 (吃完饭要洗碗)
                    picArr = [];

                }
            })
        })
        // })
})